In general, an information system is a data processing system that provides some form of response to a user upon a user's request. The Internet or World Wide Web (WWW or the “web”) is easily the most ubiquitous information system that exists today.
Scalable web sites associated with the Internet typically comprise one or more load balancers for routing requests to a plurality of servers. The techniques used for load balancing the requests can have a significant effect on performance of the overall system. If requests are routed in a content-aware fashion, then the load balancer is aware of the contents of a request and can make more intelligent routing decisions.
One of the drawbacks to content-aware routing compared with content-unaware routing is that content-aware routing usually incurs significantly more overhead. Therefore, the benefits for performing content-aware routing must be significant enough to justify the higher overhead.
Content-aware routing techniques have been proposed, for example, as described in V. Pai et al., “Locality-Aware Request Distribution in Cluster-Based Network Servers,” Proceedings of ASPLOS-VIII, October 1998, the disclosure of which is incorporated by reference herein. However, the content-aware routing disclosed in the above-referenced work is primarily intended for static requests and thus uses techniques for selecting servers which are not always well suited for dynamic requests. Techniques described in C. S. Yang et al., “Efficient Support for Content-Based Routing in Web Server Clusters,” Proceedings of the 2nd USENIX/IEEE Symposium on Internet Technologies and Systems (USITS '99), the disclosure of which is incorporated by reference herein, provide content-aware routing only for static content. Thus, existing work in content-aware routing is not sufficient to handle the data partitioning problems which occur in major deployments.
Accordingly, a need exists for techniques which overcome the above-mentioned and other limitations associated with existing content-aware routing techniques.